#!/usr/bin/php -q

<?php
$usuario = exec('whoami');


include '../config.php';
include 'funciones.php';
include 'dialog.php';
include 'Mesa.php';
include 'WebServices.php';

//error_reporting(E_ALL);
ncurses_init();
$main_window = ncurses_newwin(0, 0, 0, 0);
ncurses_getmaxyx($main_window, $rows, $cols);
$valida = false;
$mesa = new Mesa();
while (!$valida) {
    $numero = dlg_input(
            array(
                'title' => 'Ingrese Mesa',
                'rows' => 1,
                'cols' => 1,
                'dlg_cols' => 16,
                'max_len' => 5,
            )
    );
    $mesa->setNumero($numero);
    $valida = $mesa->valida();
    if ($numero == "F")
        die;
    if (!$valida) {
        datosMesa($mesa->getError());
    }
}
datosMesa("MESA:" . $numero . "  Seccion:" . $mesa->getSeccion() . "  Circuito:" . $mesa->getCircuito() . "  Usuario: $usuario");
$votosmesa = $mesa->getVotos();
$mascaras = $mesa->getMascaras();
datosCarga($votosmesa);
$renglon = "";
while (strtoupper($renglon) != "F") {
    lista("");
    $renglon = dlg_input(array('title' => 'Reng', 'rows' => 10, 'cols' => 1, 'max_len' => 2, 'dlg_cols' => 8));

    $columnas = array(1 => 78, 2 => 94, 3 => 110, 4 => 126, 5 => 143, 6 => 143);
    $titulos = array(1 => 'GOB', 2 => 'SEN', 3 => 'DIP', 4 => 'INT', 5 => 'CON', 6 => 'MCO');
    $votos = array(1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => '');
    if ($mesa->getLista($renglon) != -1) {
        $renglon_valido = true;
        lista($mesa->getLista($renglon));
        if (isset($votosmesa[$renglon])) {
            $renglon_valido = false;
            $message = "Renglon ya cargado...";
            $result = dialog(
                    array(
                        'message' => $message,
                        'rows' => -1,
                        'cols' => -1,
                        'buttons' => array('Borrar', 'Actualizar', 'Volver')
                    )
            );

            // borrar
            if ($result == 0) {
                unset($votosmesa[$renglon]);
            }
            //actualizar
            if ($result == 1) {
                $renglon_valido = true;
                $votostemp = $votosmesa[$renglon];
                foreach($votostemp as $clave=>$voto) $votos[array_search($clave, categorias_generales())]=$voto;
                //print_r($votos);die;
            }
            datosCarga($votosmesa);
        }
    } else
        $renglon_valido = false;
    $i = 0;
    if ($renglon_valido) {
        $mascara_renglon = $mascaras[$renglon];
        $i = array_search(current($mascara_renglon), categorias_generales());
    }
    while ($i <= 6 && $renglon_valido) {
        $votos[$i] = dlg_input(array('title' => $titulos[$i], 'rows' => 10, 'cols' => $columnas[$i], 'max_len' => 3, 'dlg_cols' => 8, 'valor' => $votos[$i]));
        if ($votos[$i] == -1) {
            $votos[$i] = dlg_input(array('title' => $titulos[$i], 'rows' => 10, 'cols' => $columnas[$i], 'clear' => 0, 'dlg_cols' => 8,));

            if (prev($mascara_renglon)) {
                $i = array_search(current($mascara_renglon), categorias_generales());
            } else
                $renglon_valido = false;
        } else
        // $i++;
        if (next($mascara_renglon)) {
            $i = array_search(current($mascara_renglon), categorias_generales());
        } else
            $i = 99;
    }

    if ($renglon_valido) {
        foreach ($mascara_renglon as $masc)
            $votosmesa[(int) $renglon][$masc] = $votos[array_search($masc, categorias_generales())];

        $i = 1;
        while ($i < 6) {
            dlg_input(array('title' => $titulos[$i], 'rows' => 10, 'cols' => $columnas[$i], 'clear' => 0, 'dlg_cols' => 8,));
            $i++;
        }
        $votosmesa = ordena($votosmesa);
        datosCarga($votosmesa);
    }
}
ncurses_end();
print_r($votosmesa);

function ordena($arreglo) {
    $claves = array_keys($arreglo);
    sort($claves);
    $ordenado = array();
    foreach ($claves as $clave)
        $ordenado[$clave] = $arreglo[$clave];
    return $ordenado;
}
?>